package com.fhzn.boss.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;

/**
 * @author 老顾
 * @apiNote 用户实体类
 * @since 2023/12/20
 */
@Data
@TableName("user")
public class User extends BaseEntity {

    @TableId
    private Integer id;

    private String nickname;

    private String nicknameCn;

    private Integer status;

    private String mobile;

    private String tel;

    private String appCode;

    /**
     * 用户密码
     */
    private String password;


    /**
     * 允许登录的时间端：1-全日制；2-工作日。
     */
    private int timeSegments;

    /**
     * 密码是否过期：1-密码过期；2-密码没有过期
     */
    private Integer passwordExpired;


    /**
     * 用户身份证号码
     */
    private String idno;

    /**
     * 用户性别：1-男 2-女
     */
    private Integer sex;

    /**
     * 用户邮箱
     */
    private String email;

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }

        if (o == null || getClass() != o.getClass()) {
            return false;
        }

        User user = (User) o;

        return new EqualsBuilder()
                .append(nickname, user.nickname)
                .isEquals();
    }

    @Override
    public int hashCode() {
        return new HashCodeBuilder(17, 37)
                .append(nickname)
                .toHashCode();
    }
}
